#include <iostream>

template <typename T>
void swap(T& a,T& b){
    T tmp;
    tmp=b;
    b=a;
    a=tmp;
}

template <typename T>
void select_sort(T in[],const int len){
    int idx=0;
    for(int i=0;i<len;i++){
        idx=i;
        for(int j=i+1;j<len;j++){
            if(in[j]<in[idx]){
                idx=j;
            }
        }
        swap(in[i],in[idx]);
    }
}

int main(){
    
    const int len=10; 
    int in[len]={1,4,5,3,7,2,9,6,8,0};
    select_sort(in,len);

    for(int i=0;i<len;i++){
        std::cout<<in[i]<<" "; 
    }
    std::cout<<std::endl;
    return 0;
}